<?php
/**
 * BaseController.class.php - 后台基础方法控制器
 * @package Controller
 * @subpackage null
 * @link http://www.xxx.com
 * @author xxx PHP DEV TEAM JiRY(390066398@qq.com)
 * @copyright 2016-10-28 9:40
 */
namespace Admin\Controller;
use Think\Controller;
class BaseController extends Controller {
	/**
	 * 公共逻辑
	 */
	protected static $CommonLogic = null;
	
	/**
	 * 管理员登录信息
	 */
	protected static $LoginInfo = null;
	
	/**
	 * 结果集
	 */
	public static $result = [];
	
	/**
	 * 初始化
	 */
	public function _initialize(){
		// 设置指定会话 cookie 的域名
		//ini_set('session.cookie_domain', '.test.localhost.com');
		// 跨域支持
//		$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
//
//		$allow_origin = array(  
//		    'test.localhost.com'
//		);  
//		  
//		if(in_array($origin, $allow_origin)){  
//		    header('Access-Control-Allow-Origin:'.$origin);       
//		}
		
		// 公共逻辑
		self::$CommonLogic = D('Common', 'Logic');
		// 获取登录信息
		self::$LoginInfo = self::$CommonLogic->getLoginInfo();
	}

    /**
     * AJAX 错误返回
     * @param array $data 返回数据
     */
    protected function ajaxReturnError($data=array()){
        if(is_string($data)){
            $_data['status'] = 0;
            $_data['msg'] = $data;
            $_data['result'] = array();
        }else{
            $_data = $data;
        }
        //状态标识
        if(!array_key_exists('status', $data)){
            $_data['status'] = 0;
        }
        
        //返回说明
        if(!array_key_exists('msg', $_data)){
            $_data['msg'] = L('REQUEST_HANDLE_FAIL');
        }
        
        //返回
        $this->ajaxReturn($_data);
    }
    
    /**
     * AJAX 成功返回
     * @param array $data 返回数据
     */
    protected function ajaxReturnSuccess($data = array()){
        if(!array_key_exists('result', $data)){
            $_data['result'] = $data;
        }else{
            $_data = $data;
        }
        
        //状态标识
        if(!array_key_exists('status', $_data)){
            $_data['status'] = 1;
        }
        //返回说明
        if(!array_key_exists('msg', $_data)){
            $_data['msg'] = L('REQUEST_HANDLE_SUCCESS');
        }
        
        //返回
        $this->ajaxReturn($_data);
    }
    
    /**
     * 模板显示
     * @param string $tpl           模板名称
     */
    public function display($tpl = null){
        
        //强制小写
        if( $tpl === null ) {
            $tpl = strtolower(ACTION_NAME);
        }
        
        parent::display($tpl);
    }
}